package demo.practice.leetcode_eveyday;

import java.util.ArrayList;
import java.util.List;

public class P118_2 {

    public static void main(String[] args) {
        P118_2 p118_2= new P118_2();
        p118_2.generate(4);
    }

    public List<List<Integer>> generate(int numRows) {
        //
        List<List<Integer>> list_all= new ArrayList<>();
        getList(numRows,list_all);
        return list_all;
    }


    private void  getList(int row,List<List<Integer>> list_all){
        if(row<1)
            return;

        List<Integer> li= new ArrayList<>();

        if(row==1)
            li.add(1);
        else if(row==2){
            getList(1,list_all);
            li.add(1);
            li.add(1);
        }else{
            li.add(1);
            getList(row-1,list_all);
            List<Integer> last = list_all.get(list_all.size() - 1);
            for(int i=1;i<row-1;i++){

                li.add(last.get(i-1)+last.get(i));
            }

            li.add(1);
        }

        list_all.add(li);
    }
}
